package orderOpe;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import common.Cart;
import common.Customer;

public class OrderInputServlet extends HttpServlet {

	
		protected void doGet(HttpServletRequest req, HttpServletResponse resp)
				throws ServletException, IOException {
			perform(req,resp);
		}

		@Override
		protected void doPost(HttpServletRequest req, HttpServletResponse resp)
				throws ServletException, IOException {
			perform(req,resp);
		}
		
		private void perform(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
			resp.setContentType("text/html;charset=UTF-8");
			req.setCharacterEncoding("UTF-8");
			
			//①パラメータを受け取る
			String code = req.getParameter("code");
			StringBuffer msg = new StringBuffer();
			
			if(code== null || code.length()==0){
				msg.append("顧客コードに値が無いです。<br>");
			}
			
			//②Customer find_by_code(String code)から顧客オブジェクトをもらう。
			Customer customer = Customer.find_by_code(code);
			
			if(customer == null){
				msg.append("顧客情報を取得できません。<br>");
			}
			
			//③セッション情報に顧客オブジェクトをセットする。
			HttpSession session = req.getSession();
			session.setAttribute("customer", customer);
			
			//④Cartクラスのコンストラクタから空のカートオブジェクトを受け取る。
			Cart opecart = new Cart(customer);
			session.setAttribute("opecart", opecart);
			
			//確認用Customer cusotmers = (Customer)session.getAttribute("customer");
			//      cusotmers.getName();
			//      System.out.println(cusotmers.getName());
			
			//⑤受注入力画面(orderInput.jsp)に遷移する。
			if(msg.length()==0){
				resp.sendRedirect(req.getContextPath() + "/operator/orderInput.jsp");
			}
			//エラーがある時は顧客一覧画面にフォワードする。
			else{
				req.setAttribute("msg", msg.toString());
				RequestDispatcher dispatcher = req.getRequestDispatcher(req.getContextPath() + "customerList.jsp");
				dispatcher.forward(req, resp);
			}
		}
		
}
	

